
# 序列的通用操作
"""
支持 ： 索引(下标) ，切片 ，相加 ，相乘 ，包含

一.索引
1. 索引 ：支持的数据类型有列表 ，元组 ，字符串 。
2. 格式 ：seq[index]
3. 说明 ：可以从左向右数，索引是0，；也可以从右往左数 ，索引是从-1开始

二.切片 ： 从序列中有规律性的获取若干个元素 ，支持的数据类型有列表、元组、字符串
1.格式 ：seq[start:end:step]
    start : 开始索引 ，默认值是0
    end :结束位置 ，不包括该位置 ，默认值就是序列的长度
    step : 步长 ,默认值1

三.相加和相乘
相加 : 两个同一数据类型的序列之间进行加 ，seq = seq1 + seq2
相乘 ： 序列和整数的相乘 ， seq = seq1 * number ,

说明 ：它们适用的数据类型包括 ：列表 、元组 、字符串

四. 检查成员 :检查一个元素是否在另外一个序列中，支持的数据类型有：列表、元组、字符串、字典、集合
使用格式 ：obj in seq

"""

lst = [1,2,3]
tp = (1,2,3)
my_str = ("hello world")

# 获取第2个元素
print(lst[1])
print(lst[-2])
print(tp[1])
print(tp[-2])
print(my_str[1])


# 切片 ：
lst1 = ['red','green','blue','black','gold','orange']
print("获取第2~5个元素:",lst1[1:5:1])
print("获取第2，4,6元素:",lst1[1:6:2])
print("获取第1，3,5元素:",lst1[0:6:2])

print("获取第1，3,5元素:",lst1[::2])
print("获取第3个及后面的元素",lst1[2::])
print("将列表进行翻转:",lst1[::-1])
print("获取整个列表:",lst1[::])
print("获取整个列表:",lst1)

# 相加和相加
lst2 = [None] * 6
print(lst2)
print("===========================")
print("=" * 20)
print("abc"+"bcd")
print(lst+lst1)

# 检查成员
tp1 = ('hello world',123,'world',56)
dct = {'a':1,'n':23}
set1 = {1,23,5}

print('hello' in tp1)
print('world' in tp1)

print('a' in dct)
print('e' in dct)

print(1 in set1)
print(10 in set1)